home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / internet-drafts / draft-wada-packet-forwarding-00.txt < prev    next >
Text File  |  1993-08-20  |  70KB  |  1,768 lines

  1.  
  2. Mobile IP Working Group                                      Hiromi Wada
  3. INTERNET DRAFT                                           Tatsuya Ohnishi
  4.                                 Matsushita Electric Industrial Co., Ltd.
  5.                                                              Brian Marsh
  6.                             Matsushita Information Technology Laboratory
  7.                                                                July 1993
  8.  
  9.  
  10.                 Packet Forwarding for Mobile Hosts
  11.  
  12.  
  13. Abstract
  14.  
  15.         This memo describes a new protocol for mobile internetworking:
  16.         the Internet Packet Transmission Protocol (IPTP). IPTP
  17.         provides packet forwarding and host location functions that
  18.         make mobility transparent to all protocols above IP. IPTP
  19.         specifies control messages between the networking software on
  20.         mobile hosts and a special Packet Forwarding Service.
  21.         Backward compatibility is provided by requiring no
  22.         modifications to stationary hosts or internetwork routers. To
  23.         reduce overhead, IPTP provides for lazy propagation of
  24.         location updates. To enhance performance, routes adapt as
  25.         mobile hosts move.
  26.  
  27. Status of this memo
  28.  
  29.         This document describes an approach to transparent mobile
  30.         internetworking.  This RFC requests discussion and suggestions
  31.         for improvements.  Distribution of this memo is unlimited.  It
  32.         expires on January 2, 1994.  Please respond with comments to the
  33.         mobile-ip@parc.xerox.com mailing list.
  34.  
  35.         This document is an Internet Draft.  Internet Drafts are working
  36.         documents of the Internet Engineering Task Force(IETF), its
  37.         Areas, and its Working Groups.  Note that other groups may also
  38.         distribute working documents as Internet Drafts.
  39.  
  40.         Internet Drafts are draft documents valid for a maximum of six
  41.         months.  Internet Drafts may be updated, replaced, or obsoleted
  42.         by other documents at any time.  It is not appropriate to use
  43.         Internet Drafts as reference material or to cite them other than
  44.         as a ``working draft'' or ``work in progress.''
  45.  
  46.         Please check the 1id-abstracts.txt listing contained in the
  47.         internet-drafts Shadow Directories on nic.ddn.mil, nnsc.nsf.net,
  48.         nic.nordu.net, ftp.nisc.sri.com, or munnari.oz.au to learn the
  49.         current status of any Internet Draft.
  50.  
  51.  
  52. 1 Introduction
  53.  
  54.  
  55.  
  56.  
  57. Expires 2 January 1994                                          [Page 1]
  58.  
  59. Internet-Draft             Packet Forwarding                   July 1993
  60.  
  61.  
  62. 1.1 Goals
  63.  
  64.    Our aim is to support a computing environment where hosts can
  65.    communicate with each other continuously as they migrate across
  66.    networks.  We describe an IP-level solution designed to minimize the
  67.    impact on existing protocols and applications.  Our solution
  68.    provides packet forwarding and host tracking to allow IP packets to
  69.    find their way between mobile and non-mobile hosts.
  70.  
  71.    From a practical point of view, we have two goals: backward
  72.    compatibility and performance.  To provide backward compatibility
  73.    we try to minimize the amount of software that must be modified.
  74.    First, IPTP requires no changes to router software.
  75.    Second, it requires no changes at all to the software of stationary
  76.    hosts.  Finally, it requires no changes to mobile hosts above the
  77.    network layer.
  78.  
  79.    To enhance performance, we need to minimize the overhead added to
  80.    each forwarded packet, and to make migration as inexpensive as
  81.    possible.  Per-packet overhead is due to encapsulation and any
  82.    additional hops that are added to a route.  Host migration, or
  83.    handoff as other proposals refer to it, has costs associated with
  84.    the propagation of location information.  IPTP requires
  85.    encapsulation only for packets sent to the mobile host.  Packets
  86.    from the mobile host have no additional overhead.  IPTP also
  87.    provides adaptive routing to elminate unnecessary hops between
  88.    communicating hosts.  To cut down on the overhead of migration,
  89.    IPTP provides lazy propagation of host location information,
  90.    reducing the number of messages sent when a host moves.
  91.  
  92. 1.2 Basic Concepts
  93.  
  94.    IPTP assumes three active entities: Mobile Hosts (MH), Stationary
  95.    Hosts (SH), and Packet Forwarding Servers (PFS).  IPTP is the
  96.    protocol used between these entities to implement the functions of
  97.    MH location tracking and packet forwarding.  An MH is a machine
  98.    that can roam between networks.  We assume that the kernel on this
  99.    machine can be modified, but that protocols above IP will not be
  100.    changed.  In addition, we assume that applications will not be
  101.    changed to account for roaming.  Next, an SH is a machine that does
  102.    not move.  In the worst case we assume that no software can be
  103.    changed. When such modifications are possible, IPTP specifies
  104.    important performance enhancements that can be made. Finally, a PFS
  105.    is a user-level server that runs on an SH (We assume that the
  106.    kernel allows user-level programs to receive arbitrary packets,
  107.    e.g., through a facility such as NIT in SunOS Release 4.0).
  108.    It forwards packets for roaming MHs.  In addition, it provides the
  109.    primary copy of MH location information for any MHs for which it is
  110.    the home PFS.
  111.  
  112.  
  113.  
  114. Expires 2 January 1994                                          [Page 2]
  115.  
  116. Internet-Draft             Packet Forwarding                   July 1993
  117.  
  118.  
  119.  
  120.    The basic idea is as follows.  An MH has two addresses: a home
  121.    address and a temporary address.  The home address is a legitimate
  122.    IP address on a subnet distinguished as the home network for the
  123.    MH. Home addresses are statically assigned and never change.
  124.    A temporary address is assigned as the
  125.    MH moves between networks.  Packets are sent to an MH using its
  126.    home address.  When an MH has moved away from its home network,
  127.    IPTP uses the temporary address to forward packets to the new
  128.    location of the MH.  IPTP is designed to maintain the mappings
  129.    between an MH's home and temporary addresses, and to forward
  130.    packets to roaming MHs.
  131.  
  132.    Packets are forwarded by encapsulating them in special IPTP
  133.    packets.  IPTP provides two operational modes
  134.    whose use depends on whether the SH can be modified or not:
  135.    forwarding mode and autonomous mode.  Forwarding mode allows an
  136.    unmodified host to communicate with an MH. Packets sent to a
  137.    roaming MH are transmitted via standard IP but are intercepted by a
  138.    PFS.  The PFS then encapsulates the packets and forwards them to
  139.    the MH's current temporary address. In autonomous mode, the packet
  140.    forwarding facility is built directly into the networking software
  141.    of the SH.  A packet sent to the MH is encapsulated in an IPTP
  142.    packet whose destination address is the MH's temporary address.
  143.    The PFS is removed from the transmission path except for tracking
  144.    MHs.  MH-to-MH communication works exactly the same way as
  145.    SH-to-MH communication.
  146.  
  147.    We have two kind of PFSs.  One is a home PFS, and the other is an
  148.    Autonomous Supporter(AS) PFS.  The home PFS is located on a home
  149.    network of MHs.  The PFS is responsible for forwarding packets
  150.    to an MH's temporary networks and for managing location information.
  151.    The AS are located on a new network that an MH has visited.  After
  152.    the MH again migrates to another network, the AS forwards packets
  153.    destined for the MH to its current network.
  154.  
  155.  
  156. 1.3 Overview
  157.  
  158.    This document is organized as follows.  In Section 2 we discuss how
  159.    mobile hosts are addressed.  In Section 3 we detail how packet
  160.    forwarding is done, both for backward compatibility and performance.
  161.    In Section 4 we focus on how location information is maintained.  In
  162.    Section 5 we present the details of the IPTP protocol.  In Section 6
  163.    we describe important implementation issues.
  164.  
  165. 2 Addressing
  166.  
  167.    Each MH has two addresses: a home address and a temporary address.
  168.  
  169.  
  170.  
  171. Expires 2 January 1994                                          [Page 3]
  172.  
  173. Internet-Draft             Packet Forwarding                   July 1993
  174.  
  175.  
  176.    The "home" address distinguishes the network from which the MH
  177.    originates.  The home address remains the same even while the MH is
  178.    roaming.  The network part of the home address is equal to the home
  179.    network address.  The notion of a home is useful because it
  180.    provides an easily found source of reliable information about a
  181.    roaming MH.  In particular, a PFS located on an MH's home network
  182.    is responsible for tracking its whereabouts at all times.  That PFS
  183.    is also responsible for forwarding packets sent to a roaming
  184.    MH's home address.
  185.  
  186.    The temporary address reflects the current real location
  187.    of the MH (we also refer to it as the "real address"). The network
  188.    part of the address is equal to the network address where the MH
  189.    currently lives. A temporary address changes every time the host
  190.    migrates to a new network.  The exact process of assigning
  191.    temporary addresses is beyond the scope of this document.
  192.  
  193.    Applications address an MH using its home address, regardless of its
  194.    location.  This is true both for applications running on the MH and
  195.    for applications on other machines that must communicate with the MH.
  196.    To send data to an MH, a host builds an IP packet whose destination
  197.    address is the home address of the MH.  The IP packet is then
  198.    encapsulated in an IPTP packet whose destination address is the
  199.    current temporary address of the MH.  The packet is then delivered to
  200.    the MH using existing routing mechanisms.  An MH receiving an
  201.    encapsulated packet decapsulates it to yield the original IP packet.
  202.  
  203.    Because the temporary address of an MH is assigned dynamically when
  204.    the MH visits a network, encapsulated packets might mistakenly be
  205.    sent to a temporary address that has been reassigned to another MH.
  206.    To filter out such packets, each encapsulated packet is tagged with
  207.    the home address of the destination MH.  Since each MH has a unique
  208.    home address, it is possible to distinguish packets that should not
  209.    actually be delivered.  An encapsulated packet is accepted only if
  210.    the temporary and home addresses match those of the receiving host.
  211.  
  212. 3 Packet Forwarding
  213.  
  214.    In this section, we describe packet forwarding in detail.  As
  215.    described in Section 1.2, packet forwarding is done in one of two
  216.    modes: forwarding mode and autonomous mode.  In forwarding mode,
  217.    the SH is unmodified and packets are forwarded by a PFS.  In
  218.    autonomous mode, packet forwarding is performed by the sending
  219.    host.  Both modes can co-exist in one environment.
  220.  
  221. 3.1 Forwarding Mode
  222.  
  223.    In forwarding mode, packet forwarding for an MH is performed by a PFS
  224.    on the MH's home network.  In Figure 1 we consider communication
  225.  
  226.  
  227.  
  228. Expires 2 January 1994                                          [Page 4]
  229.  
  230. Internet-Draft             Packet Forwarding                   July 1993
  231.  
  232.  
  233.    between an SH and an MH.
  234.  
  235.                              +--------+
  236.                              |        |
  237.                        +---> |  PFS   | ---+
  238.           (1) SH to MH |     |        |    |(2)Packet Forwarding
  239.                        |     +--------+    |   (normal packet(1) is
  240.                        |                   |   encapsulated in it)
  241.          +--------+    |                   |     +--------+
  242.          |        | ---+                   +---> |        |
  243.          |   SH   |                              |   MH   |
  244.          |        | <--------------------------- |        |
  245.          +--------+       (3) normal packet      +--------+
  246.  
  247.                  Figure 1. Forwarding Mode
  248.  
  249.    (1) SH to MH - An SH sends a packet to an MH specifying the MH's home
  250.        address.  The packet is routed to the MH's home network where it
  251.        is intercepted by a PFS.  Packet interception is arranged by the
  252.        PFS either by using some sort of promiscuous mode or by arranging
  253.        with local gateways for packets to be routed to the SH on which
  254.        the PFS is running.
  255.  
  256.    (2) Packet Forwarding - The PFS encapsulates the packet sent in (1)
  257.        into a "Packet Transmission" packet (the exact format is
  258.        described in Section 5.2).  The destination address in the IPTP
  259.        message is the temporary address of the MH.  The PFS maintains a
  260.        mapping between the home address and the temporary address by
  261.        the IPTP protocol.  This location information management is
  262.        described below.
  263.  
  264.        When the MH receives the "Packet Transmission" message, its
  265.        IPTP layer decapsulates the IP packet it contains.  From the
  266.        perspective of applications running on the MH, the MH appears
  267.        to still reside on its home network.
  268.  
  269.    (3) MH to SH - The packet decapsulated from the "Packet
  270.        Transmission" message contains the IP address of the SH in its
  271.        source address field.  The MH sends a reply packet directly to
  272.        the SH using standard IP.  The source address used for the
  273.        reply packet is the MH's home address.  Because reply packets
  274.        are standard IP packets, they are routed using normal IP
  275.        routing mechanisms.  We assume that the MH dynamically acquires
  276.        such routing information through a protocol such as DHCP[2].
  277.  
  278. 3.2 Autonomous Mode
  279.  
  280.    Autonomous mode allows an SH to transmit packets directly to an MH,
  281.    without relaying them via a PFS.  The packet routes that result can
  282.  
  283.  
  284.  
  285. Expires 2 January 1994                                          [Page 5]
  286.  
  287. Internet-Draft             Packet Forwarding                   July 1993
  288.  
  289.  
  290.    be significantly shorter.  An autonomous mode connection has two
  291.    key requirements.  First, the SH must have been modified to do its
  292.    own packet forwarding.  Second, the MH must be able to find a PFS
  293.    on its current network to act as an AS.
  294.    An AS acts like a home PFS in the following way:
  295.    if an MH migrates away from that network, the AS
  296.    will intercept packets sent to it, and forward them to the MH's new
  297.    address.
  298.  
  299. 3.2.1 SH Transmission
  300.  
  301.    In this mode, packet forwarding is performed directly by the
  302.    SH, instead of by the PFS.  Figure 2 illustrates this
  303.    case.  The SH maintains a mapping between the home address and the
  304.    temporary address of the target MH.  In this respect the
  305.    functionality added to the networking software of the SH is
  306.    similiar to that added to the PFS.  The difference is
  307.    in how location information is propagated.  Location updates are
  308.    sent by the MH to its home PFS, a PFS acting as an autonomous
  309.    supporter and an modified SH.  If an SH initiates communication with
  310.    an MH after the MH has migrated, it receives updates lazily when it
  311.    uses stale addresses to send packets to the MH.  If not, the peer MH
  312.    sends its current temporary address to the SH before the MH sends its
  313.    first packet to the SH after its migration.  The SH mappings can be
  314.    viewed as a cache of the primary copy maintained by the home PFS.
  315.    Details of location information management is described in the
  316.    Section 4.
  317.  
  318.                           (1) SH to MH
  319.                           (SH's normal packet
  320.          +--------+        is encapsulated)     +--------+
  321.          |        | --------------------------> |        |
  322.          |   SH   |                             |   MH   |
  323.          |        | <-------------------------- |        |
  324.          +--------+       (2) MH to SH          +--------+
  325.  
  326.                  Figure 2. Autonomous Mode
  327.  
  328.    (1) SH to MH - The SH sends a packet directly to the MH.
  329.        Applications on the SH use the MH's home address.  IPTP
  330.        software on the SH encapsulates the packet into a "Packet
  331.        Transmission" message and sends it to the MH using the MH's
  332.        current temporary address.  On receiving the packet, the MH's
  333.        IPTP software decapsulates the original IP packet and passes it
  334.        to the appropriate higher-level protocol.
  335.  
  336.    (2) MH to SH - The MH sends a packet directly to the SH using
  337.        standard IP.  This is the same as in the forwarding mode above.
  338.  
  339.  
  340.  
  341.  
  342. Expires 2 January 1994                                          [Page 6]
  343.  
  344. Internet-Draft             Packet Forwarding                   July 1993
  345.  
  346.  
  347. 3.2.2 Autonomous Supporter Transmission
  348.  
  349.    An AS will forward packets destined for an MH that is no longer
  350.    present on the local network.  It knows the MH's temporary address
  351.    there, because it was notified it by "Ping Autonomous Supporter"
  352.    message when it visited the network.  It will also get the MH's
  353.    current temporary address, because it will be notified it by "MH
  354.    Location Information" message when the MH will visit a new network.
  355.  
  356.    Recall that the AS is a local PFS that has agreed
  357.    to provide support for autonomous mode communications with visiting
  358.    MHs.  When the MH migrates to a new network, it notifies the AS.
  359.    The AS will then begin to look for packets destined for the MH's
  360.    local IP address (the temporary one assigned when the MH first
  361.    arrived). If the AS knows the current temporary address of the MH,
  362.    it will forward any packets it intercepts.  If it doesn't know the
  363.    current address of the MH, the packets are sent to the home PFS,
  364.    which should have the MH's current location.  The home PFS address
  365.    is contained in the IPTP header of the intercepted packet.
  366.    Figure 3 illustrates this case.
  367.  
  368.  
  369.              (current network)                    (home network)
  370.                  +====+   (3) Packet Forwarding      +=====+
  371.                  | MH |<-----------------------------| home|
  372.           +----->|    |<------+                  +-->| PFS |
  373.           |      +====+       |(2a) Packet       |   +=====+
  374.           |                   |     Forwarding   |
  375.           |                   | +----------------+
  376.       migration               | | (2b) Packet Forwarding
  377.           |                   | |
  378.           |      (Ghost)      | |
  379.           |         +----+  +=====+              +====+
  380.           |         |    |  | PFS |<-------------| SH |
  381.           +---------|    |  |     | (1) SH to MH |    |
  382.                     +----+  +=====+              +====+
  383.                    (previous network)
  384.  
  385.  
  386.         Figure 3. Forwarding mode by an autonomous supporter PFS
  387.  
  388.  
  389.    (1) SH to MH - The SH in autonomous mode sends a packet directly to
  390.        the temporary address of the MH, although the MH is not at the
  391.        temporary address any longer.
  392.  
  393.    (2) Packet Forwarding by Autonomous Supporter - If the autonomous
  394.        supporter PFS learns the current address of the MH
  395.        through the mechanism described in Section 4,
  396.  
  397.  
  398.  
  399. Expires 2 January 1994                                          [Page 7]
  400.  
  401. Internet-Draft             Packet Forwarding                   July 1993
  402.  
  403.  
  404.        it forwards the packet to the current temporary
  405.        address(2a).  If not, it forwards the packet to the home
  406.        address(2b).  When forwarding, the PFS does not encapsulate the
  407.        packet because it is already encapsulated.  Instead, it
  408.        decrements the counter field in the IPTP header by 1 and if the
  409.        value is 0, the PFS discards the packet.
  410.  
  411.    (3) Packet Forwarding - This takes place only when preceded by (2b).
  412.        The home PFS forwards the packet to the current temporary address
  413.        of the MH. Forwarding process is the same as (2) above (counter
  414.        decrement and no encapsulation).
  415.  
  416. 4 Location Information Management
  417.  
  418.    In this section we describe how IPTP is used to maintain location
  419.    information.  A home PFS maintains the primary copy of location
  420.    data for its local network.  When an MH migrates, it transmits its
  421.    new configuration information to its home PFS.  This data includes
  422.    the MH's new temporary address and whether there is an Autonomous
  423.    Supporter on the new network.  The home PFS is then responsible
  424.    for propagating the data to all concerned hosts.  This data may be
  425.    cached by MHs, SHs, and autonomous supporters (ASs).  PFSs need it
  426.    to support packets transmitted in Forwarding Mode.  MHs and SHs
  427.    need it when communicating in Autonomous Mode.  Below, we describe
  428.    how updates are first sent when an MH migrates and later propagated
  429.    to other MHs, SHs, and ASs.
  430.  
  431. 4.1 MH Migration/PFS Notification
  432.  
  433.    When an MH moves to a new network, it transmits new configuration
  434.    information to its home PFS and its previous AS.  Notification to
  435.    the home PFS is for redirecting packets sent in Forwarding
  436.    Mode.  Notification to the AS is for redirecting packets sent in
  437.    Autonomous Mode.  Figure 4 describes how configuration information
  438.    is collected and distributed.
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456. Expires 2 January 1994                                          [Page 8]
  457.  
  458. Internet-Draft             Packet Forwarding                   July 1993
  459.  
  460.  
  461.          (current network)
  462.                 Ping Autonomous Supporter         (home network)
  463.          +====+ (1)  +=====+                         +=====+
  464.          | MH |----->| PFS |                         | home|
  465.      +-->|    |      |     |                     +-->| PFS |
  466.      |   +====+      +=====+                     |   +=====+
  467.      |     ||                                    |
  468.      |     |+------------------------------------+
  469.      |     |        (2) MH Location Information
  470.      |     |
  471.      |     +-------------------------+
  472.      |                               |(3) MH Location Information
  473.      |                  (Ghost)      v
  474.      |                  +----+     +=====+
  475.    migration            |    |     | PFS |
  476.      +------------------|    |     | (AS)|
  477.                         +----+     +=====+
  478.                         (previous network)
  479.  
  480.            Figure 4. Location information distribution
  481.  
  482.     (0) The MH is assigned a temporary address using a protocol such
  483.         as DHCP.
  484.  
  485.     (1) Autonomous Supporter -- The MH tries to find a PFS which
  486.         can support autonomous mode in the new network.  The MH
  487.         broadcasts a "Ping Autonomous Supporter" message. If
  488.         any PFS responds, the MH will transmit packets in autonomous
  489.         mode.  When a PFS receives a "Ping Autonomous Supporter", it
  490.         sends to the sender a reply message with an autonomous flag
  491.         which indicates whether it supports the mode or not.  A PFS
  492.         supporting Autonomous Mode registers the MH in a list of
  493.         visiting MHs.
  494.  
  495.     (2) MH Location Information - The MH sends an "MH Location
  496.         Information" message to a PFS on its home network.  This message
  497.         carries the home and temporary addresses of the MH, an
  498.         autonomous flag which indicates whether the MH can communicate
  499.         in autonomous mode or not, and the address of the PFS which
  500.         responded to the "Ping Autonomous Supporter" message.
  501.  
  502.         When a PFS in the home network receives an "MH Location
  503.         Information" message, it returns an acknowledgement to the MH,
  504.         and updates its mapping for the home address of the MH.
  505.  
  506.     (3) MH Location Information to a Previous PFS - The MH also sends an
  507.         "MH Location Information" message to an AS (if any) on its
  508.         previous network.  If the MH has not just migrated from its home
  509.         network and if it was operating in autonomous mode on the
  510.  
  511.  
  512.  
  513. Expires 2 January 1994                                          [Page 9]
  514.  
  515. Internet-Draft             Packet Forwarding                   July 1993
  516.  
  517.  
  518.         previous remote network, there must have been an Autonomous
  519.         Supporter on that network.  Hence, the MH sends it an "MH
  520.         Location Information".  When the AS receives the "MH Location
  521.         Information" message, it acknowledges the message and flags its
  522.         mapping (if any) for the MH.  The flag indicates that the MH has
  523.         migrated, and means that the AS may delete the MH's entry if
  524.         necessary.  After that, the AS starts looking for packets
  525.         destined for the MH's obsolete temporary address.
  526.  
  527.  
  528. 4.2 Autonomous Sender Notification
  529.  
  530.     Notifying the home PFS only takes care of packets sent in forwarding
  531.     mode.  If a host can use autonomous mode to communicate with an MH
  532.     which is migrating from its home network to another network,
  533.     and if an AS in the new network works for the MH, then the host
  534.     should change to autonomous mode.  This notification is described in
  535.     Section 4.2.1.
  536.  
  537.     If a host is using autonomous mode to communicate with the MH,
  538.     there are two possibilities for how to distribute the MH's
  539.     current temporary address to the host.
  540.     In one case, the host has sent a "Packet Transmission" message
  541.     to the network previously occupied by the MH.
  542.     An AS in that network works on behalf of the MH.
  543.     If the AS knows the MH's current temporary
  544.     address, it will inform the host of it.
  545.     This case is described in Section 4.2.2.
  546.     In the other case, the MH has sent a
  547.     "MH Location Information" message to the host prior
  548.     to re-starting communication after migration.
  549.     This case is described in Section 4.2.3.
  550.     In both
  551.     cases, IPTP provides lazy notification by waiting until a message is
  552.     sent to the host.
  553.  
  554. 4.2.1 Packets to the Home Address
  555.  
  556.       A host that communicates with an MH that has migrated may address
  557.       its packet to the home address of the MH.  If the sending host
  558.       supports autonomous mode, then its location tables must be updated
  559.       to reflect the new location of the MH.  Figure 5 depicts how this
  560.       update procedure takes place.
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570. Expires 2 January 1994                                         [Page 10]
  571.  
  572. Internet-Draft             Packet Forwarding                   July 1993
  573.  
  574.  
  575.                             +====+
  576.                       +-----| SH |-----+
  577.                       |     |    |<--+ |
  578.                    (4)|     +====+   | |(1) Normal
  579.                 Packet|        MH(3) | |    Packet
  580.           Transmission|      Location| |    Transmission
  581.                       |   Information| |
  582.                       |              | |     +=====+
  583.             +====+    |              | +---->| home|
  584.             | MH |<---+              +-------| PFS |
  585.             |    |<------------------------- +=====+
  586.             +====+      (2)Packet Forwarding
  587.  
  588.        (current network)                  (home network)
  589.  
  590.  
  591.            Figure 5. Packets to the Home Address
  592.  
  593.  
  594.     (1) Normal Packet Transmission - The SH sends a normal IP packet to
  595.         the MH's home address.
  596.  
  597.     (2) Packet Forwarding - The home PFS picks up the packet,
  598.         encapsulates it within an IPTP "Packet Transmission" message,
  599.         and sends it to the MH's current temporary address.
  600.  
  601.     (3) MH Location Information - If the MH has moved to a network that
  602.         supports autonomous mode then the home PFS attempts to notify
  603.         the SH that autonomous mode communication is possible.  If the
  604.         SH is capable of autonomous mode communication, when it receives
  605.         the "MH Location Information" message, it caches the MH's new
  606.         temporary address, and enters autonomous mode for all packets
  607.         destined for the MH.
  608.  
  609.     (4) The SH can now send packets to the MH without an intervening hop
  610.         through the PFS.
  611.  
  612. 4.2.2 Packets from an AS
  613.  
  614.       If an SH using autonomous mode is communicating with an MH which
  615.       is not located in its home network, an AS must be in the network
  616.       where the MH exists.  If the MH has migraterd to a new network and
  617.       if another AS exists there, the SH can continue to communicate
  618.       with the MH using autonomous mode.  The AS in the previous network
  619.       forwards "Packet Transmission" messages destined for the MH to its
  620.       current temporary address and informs the SH of the address.
  621.       Figure 6 illustrates this case.
  622.  
  623.  
  624.  
  625.  
  626.  
  627. Expires 2 January 1994                                         [Page 11]
  628.  
  629. Internet-Draft             Packet Forwarding                   July 1993
  630.  
  631.  
  632.            (current network)             (home network)
  633.            +====+    +=====+                 +=====+
  634.            | MH |    | PFS |                 | home|
  635.            |    |<-+ | (AS)|                 | PFS |
  636.            +====+  | +=====+                 +=====+
  637.              ^ ^   |
  638.              | |   +----------------------------+
  639.              | |                                |
  640.              | +--------+(2) Packet             |(4) Packet
  641.          migration      |    Transmission       |    Transmission
  642.              |          |                       |
  643.              |          |                       |
  644.           (Ghost)       |    (3) Location       |
  645.            +----+    +=====+     Information  +====+
  646.            |    |    | PFS |----------------->| SH |
  647.            |    |    | (AS)|<-----------------|    |
  648.            +----+    +=====+ (1) Packet       +====+
  649.            (previous network)    Transmission
  650.  
  651.  
  652.                 Figure 6. Packets from an AS
  653.  
  654.  
  655.     (1) Packet Transmission - The SH using autonomous mode sends "Packet
  656.         Transmission" message to the previous temporary address of the
  657.         MH.
  658.  
  659.     (2) Packet Transmission - The AS in the previous network forwards it
  660.         to the current temporary address of the MH.
  661.  
  662.     (3) Location Information - The AS in the previous network informs
  663.         the SH of the current temporary address of the MH.
  664.  
  665.     (4) Packet Transmission - The SH sends subsequent packets to the
  666.         MH's current temporary address.
  667.  
  668.  
  669. 4.2.3 Packets from a Migrated MH
  670.  
  671.       Before a migrated MH initiates communication with an SH, the MH
  672.       sends an "MH Location Information" message to the SH.  If the SH
  673.       supports autonomous mode, it extracts the MH's current temporary
  674.       address.  Therefore, when the SH responds a packet sent by the MH,
  675.       it can send the packet directly to the MH via normal IP routing
  676.       instead of through a PFS.  Figure 7 illustrates this case.
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684. Expires 2 January 1994                                         [Page 12]
  685.  
  686. Internet-Draft             Packet Forwarding                   July 1993
  687.  
  688.  
  689.                   (1) MH Location Information
  690.               +-------------------------------------+
  691.               |                                     |
  692.               v                                     |
  693.           +-------+  (2) Normal IP Packet        +-------+
  694.           |       | <--------------------------- |       |
  695.           |  SH   |                              |  MH   |
  696.           |       | ---------------------------> |       |
  697.           +-------+  (3) Packet Transmission     +-------+
  698.  
  699.  
  700.            Figure 7. Packets from a Migrated MH
  701.  
  702.  
  703.     (1) MH Location Information - The MH informs the SH of its own
  704.         current temporary address, before it starts communicating with
  705.         the SH.
  706.  
  707.     (2) Normal IP Packet - The MH sends a normal IP packet to the SH.
  708.  
  709.     (3) Packet Transmission - The SH can encapsulate packets to the MH
  710.         into the "Packet Transmission" messages.
  711.  
  712.  
  713. 4.3 Packets to an Obsolete Temporary Address
  714.  
  715.    Figure 8 illustrates what happens if a PFS acting as an autonomous
  716.    supporter (AS) receives a packet destined for an MH that has
  717.    already left its network. The AS must encapsulate and forward the
  718.    packet.  More importantly, however, it must notify the sending host
  719.    of the MH's new address.
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741. Expires 2 January 1994                                         [Page 13]
  742.  
  743. Internet-Draft             Packet Forwarding                   July 1993
  744.  
  745.  
  746.            (current network)             (home network)
  747.                 +====+                      +=====+
  748.              +->| MH |<---------+(4b)       | home|
  749.              |  |    |<--+      |Subsequest | PFS |---+(5)
  750.              |  +====+   |      |Packet     +=====+   |MH
  751.              |           |      |Transmission   ^     |Location
  752.          migration       |(2)   +---------+     |     |Information
  753.              |           |Packet          |     |     |
  754.              |           |Forwarding      |     |(4a) |
  755.              |           |                |     |Subsequest
  756.              |           |                |     |Packet
  757.           (Ghost)        | (3)MH Location |     |Transmission
  758.            +----+    +=====+  Information +---+====+  |
  759.            |    |    | PFS |----------------->| SH |<-+
  760.            |    |    | (AS)|<-----------------|    |
  761.            +----+    +=====+   (1)Packet      +====+
  762.            (previous network)     Transmission
  763.  
  764.  
  765.        Figure 8. Packets to an Obsolete Temporary Address
  766.  
  767.     (1) Packet Transmission - The SH sends a "Packet Transmission"
  768.         message to the MH's old temporary address.  The autonomous
  769.         supporter for the MH's old temporary address will intercept the
  770.         packet.  It knows that the MH is gone because it received a "MH
  771.         Location Information" message as described in Section 4.1,
  772.         paragraph 3.
  773.  
  774.     (2) Packet Forwarding - The AS may attempt to forward the packet to
  775.         the MH if the MH's new temporary address is still in its cache.
  776.         However, the AS is not required to maintain the new address
  777.         of the MH. If it is not in the cache, the AS knows only that
  778.         it has gone.  If so, the packet is instead forwarded to the
  779.         home PFS for correct rerouting.
  780.  
  781.     (3) MH Location Information - The AS must now notify the SH that
  782.         it has an out of date address for the MH.  It therefore sends
  783.         to the SH an "MH Location Information" message.  The AS
  784.         includes the MH's new address if possible, allowing subsequent
  785.         packets to be routed directly to the MH without going through
  786.         the home PFS.  If the AS does not know the MH's new address
  787.         then the address field is set to NULL, indicating that the SH
  788.         should route packets to the MH's home network where they are
  789.         picked up by the home PFS.
  790.  
  791.     (4) Subsequent Packet Transmission(SH to MH) - The SH knows that its
  792.         mapping for the MH is stale.  If no new address for the MH was
  793.         received in (3), then it will transmit subsequent packets to
  794.         the MH's home network for processing by the home PFS (4a).
  795.  
  796.  
  797.  
  798. Expires 2 January 1994                                         [Page 14]
  799.  
  800. Internet-Draft             Packet Forwarding                   July 1993
  801.  
  802.  
  803.         Otherwise, it will transmit subsequent packets to the new
  804.         temporary address of the MH (4b).
  805.  
  806.     (5) MH Location Information - When the home PFS receives the next
  807.         packet destined for the home address of the MH, if the MH is
  808.         available for autonomous mode communication, the home PFS sends
  809.         an "MH Location Information" message to the sender.  At the same
  810.         time, it forwards the packet to the current temporary address of
  811.         the MH.  When the sender receives the "MH Location Information"
  812.         message, it updates the cache entry of the MH's location and
  813.         enters autonomous mode. This step takes place only if preceded
  814.         by step(4b).
  815.  
  816.  
  817. 5 Internet Packet Transmission Protocol(IPTP)
  818.  
  819.    In this Section we describe the Internet Packet Transmission
  820.    Protocol(IPTP).  IPTP consists of four packet types that fit within
  821.    one packet format.  The packet types provide packet forwarding, new
  822.    address notification, pinging for an autonomous supporter, and an
  823.    IPTP echo check.
  824.  
  825. 5.1 Message Type
  826.  
  827.    In this subsection, we describe the different IPTP message types.
  828.    The parameter types are defined in detail in Section 5.2.
  829.  
  830.     (1) Packet Transmission
  831.  
  832.         This message is used to forward packets from a PFS to an MH and
  833.         to send packets from an SH to an MH.  It does not require a
  834.         response.
  835.  
  836.         The following parameters should be set:
  837.                - Type
  838.                - Aim
  839.                - Counter
  840.                - Home address of MH
  841.                - Temporary address of MH
  842.                - Encapsulated packet
  843.  
  844.     (2) MH Location Information
  845.  
  846.         This message is used to notify a PFS or an SH of an MH's new
  847.         address.  It requires a response.
  848.  
  849.         The following parameters should be set:
  850.                - Type
  851.                - Aim
  852.  
  853.  
  854.  
  855. Expires 2 January 1994                                         [Page 15]
  856.  
  857. Internet-Draft             Packet Forwarding                   July 1993
  858.  
  859.  
  860.                - Sequence
  861.                - Autonomous
  862.                - Home address of MH
  863.                - Temporary address of MH
  864.                - Address of PFS: See Section 5.2.
  865.                - Authentication information
  866.  
  867.         The following parameters should be set in a response:
  868.                - Type
  869.                - Aim
  870.                - Sequence
  871.                - Status
  872.  
  873.     (3) Ping Autonomous Supporter message
  874.  
  875.         This message is used for an MH to find a PFS which supports the
  876.         autonomous mode in a new temporary network. This message
  877.         requires a response.
  878.  
  879.         The following parameters should be set in a request message:
  880.                - Type
  881.                - Aim
  882.                - Sequence
  883.                - Home address of MH
  884.                - Temporary address of MH
  885.                - Authentication information
  886.  
  887.         The following parameters should be set in a response message:
  888.                - Type
  889.                - Aim
  890.                - Sequence
  891.                - Autonomous
  892.                - Status
  893.  
  894.     (4) Echo message
  895.  
  896.         This message is used to examine whether a host employs IPTP or
  897.         not.  It requires a response.
  898.  
  899.         The Following parameters should be set in both a request and a
  900.         response:
  901.                - Type
  902.                - Aim
  903.                - Sequence
  904.  
  905. 5.2 Parameters
  906.  
  907.         Type:
  908.            This field indicates a message type of an IPTP packet.
  909.  
  910.  
  911.  
  912. Expires 2 January 1994                                         [Page 16]
  913.  
  914. Internet-Draft             Packet Forwarding                   July 1993
  915.  
  916.  
  917.                 Value    : Meaning
  918.                 --------------------------------------------
  919.                     0    : Packet Transmission message
  920.                     1    : MH Location Information message
  921.                     2    : Ping Autonomous Supporter message
  922.                     3    : Echo message
  923.  
  924.         Aim:
  925.            This field indicates whether the packet contains either a
  926.            request or a response. Each message except "Packet
  927.            Transmission" message requires a response.
  928.  
  929.                 Value    : Meaning
  930.                 ----------------------------------------------------
  931.                     0    : neither request nor response
  932.                            (That is "Packet Transmission" message.)
  933.                     1    : request
  934.                     2    : response
  935.  
  936.         Sequence number:
  937.            The sequence number of the packet between a requester and a
  938.            responder.  It is used to indicate the relationship between a
  939.            request and a response packet.
  940.  
  941.         Autonomous:
  942.            Used only on "MH Location Information" messages from an MH to
  943.            the home PFS.  It indicates whether the home PFS should
  944.            notify SHs of the MH's temporary address or not.
  945.  
  946.                 Value    : Meaning
  947.                 -------------------------------------------------------
  948.                     0    : The home PFS must not notify SHs of the MH's
  949.                            temporary address,
  950.                     1    : The home PFS may notify SHs of the MH's
  951.                            temporary address.
  952.  
  953.         Counter:
  954.            The counter is used to detect forwarding loops.  It is set to
  955.            an implementation-specific number whenever a "Packet
  956.            Transmission" message originates.  When a PFS receives the
  957.            "Packet Transmission" message, the PFS decrements the counter
  958.            by 1.  If the counter is equal to 0, the PFS discards the
  959.            packet instead of forwarding it.
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969. Expires 2 January 1994                                         [Page 17]
  970.  
  971. Internet-Draft             Packet Forwarding                   July 1993
  972.  
  973.  
  974.         Status:
  975.            The status of the packet.
  976.                 Value    : Meaning
  977.                 --------------------------------------------
  978.                     0    : No problem
  979.                     1    : Authentication error
  980.                     2    : Specified MH's address is unknown
  981.  
  982.         Home address of MH:
  983.            The address of an MH on its home network.
  984.  
  985.         Temporary address of MH:
  986.            The address of an MH on a temporary network.  Assigned using
  987.            some dynamic configuration protocol such as DHCP.
  988.  
  989.         Address of PFS:
  990.            The IP address of a PFS.  Possible values are:
  991.  
  992.                 Situation             : Meaning
  993.                 --------------------------------------------------
  994.                 1. MH migrates to new : Address of PFS which
  995.                    network              is an autonomous supporter
  996.                 2. PFS notifies Auto. : Address of home PFS
  997.                    mode supporter
  998.  
  999.         Authentication information:
  1000.            A password or token that PFSs use to decide whether an MH has
  1001.            sufficient credentials to be given service. The exact nature
  1002.            of this is beyond the current scope of this document.  To
  1003.            allow for multiple types of authentication information, the
  1004.            following format should be obeyed. Multiple authentication
  1005.            fields may be present to accommodate a variety of
  1006.            authentication mechanisms.
  1007.  
  1008.       0                   1                   2                   3
  1009.       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  1010.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1011.      |   Auth Type   |    Version    |            Length             |
  1012.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1013.      | Authentication Data ...
  1014.      +-+-+-+-+-+-+-+-+-+-+-+-+-...
  1015.  
  1016.            The Authentication Type field describes which authentication
  1017.            mechanism is being used, with the Version field detailing
  1018.            which version of that mechanism. The Length field indicates
  1019.            the length of the authentication data in octets.
  1020.  
  1021.            Authentication Type 0 is just padding, and as such, only the
  1022.            type field is used (i.e., it is just a 0-filled octet).
  1023.  
  1024.  
  1025.  
  1026. Expires 2 January 1994                                         [Page 18]
  1027.  
  1028. Internet-Draft             Packet Forwarding                   July 1993
  1029.  
  1030.  
  1031.  
  1032.            Authentication Type 1 indicates that the authentication data
  1033.            are just a plaintext password; Version is 0; the Length field
  1034.            indicates the length of the password, and the authentication
  1035.            data is a cleartext password.
  1036.            This type of authentication should only be used
  1037.            when the physical medium can be trusted.
  1038.  
  1039.            Authentication Types 2-127 are reserved for future standard
  1040.            definitions.
  1041.  
  1042.            Authentication Types 128-255 are reserved for future
  1043.            definition by vendors and/or implementors.
  1044.  
  1045.         Encapsulated packet:
  1046.            This is an original IP packet destined for MH.  This field is
  1047.            only included in "Packet Transmission" messages.
  1048.  
  1049.         Optional data:
  1050.            This is a field for optional data.
  1051.  
  1052.       0                   1                   2                   3
  1053.       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  1054.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1055.      |            length             |     optional data
  1056.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...
  1057.  
  1058.  
  1059. 5.3 Packet Format
  1060.  
  1061.   (1) Packet Transmission message
  1062.  
  1063.       0                   1                   2                   3
  1064.       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  1065.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1066.      |             type              |     aim       |  (not used)   |
  1067.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1068.      |  (not used)   |    counter    |  (not used)   |  (not used)   |
  1069.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1070.      |                     home address of MH                        |
  1071.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1072.      |                     temporary address of MH                   |
  1073.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1074.      |                     (not used)                                |
  1075.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1076.      |                     encapsulated packet
  1077.      +-+-+-+-+-+-+-+-+-+-+-+-+-...
  1078.  
  1079.   (2) MH Location Information message
  1080.  
  1081.  
  1082.  
  1083. Expires 2 January 1994                                         [Page 19]
  1084.  
  1085. Internet-Draft             Packet Forwarding                   July 1993
  1086.  
  1087.  
  1088.  
  1089.       0                   1                   2                   3
  1090.       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  1091.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1092.      |             type              |     aim       |   sequence    |
  1093.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1094.      |  autonomous   |  (not used)   |    status     |  (not used)   |
  1095.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1096.      |                     home address of MH                        |
  1097.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1098.      |                     temporary address of MH                   |
  1099.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1100.      |                     address of PFS                            |
  1101.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1102.      |                     authentication information
  1103.      +-+-+-+-+-+-+-+-+-+-+-+-+-...
  1104.  
  1105.   (3) Ping Autonomous Supporter message
  1106.  
  1107.       0                   1                   2                   3
  1108.       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  1109.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1110.      |             type              |     aim       |   sequence    |
  1111.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1112.      |  autonomous   |  (not used)   |    status     |  (not used)   |
  1113.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1114.      |                     home address of MH                        |
  1115.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1116.      |                     temporary address of MH                   |
  1117.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1118.      |                     (not used)                                |
  1119.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1120.      |                     authentication information
  1121.      +-+-+-+-+-+-+-+-+-+-+-+-+-...
  1122.  
  1123.   (4) Echo message
  1124.  
  1125.       0                   1                   2                   3
  1126.       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  1127.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1128.      |             type              |     aim       |   sequence    |
  1129.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1130.      |  autonomous   |    counter    |    status     |  (not used)   |
  1131.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1132.      |                     optional data
  1133.      +-+-+-+-+-+-+-+-+-+-+-+-+-...
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140. Expires 2 January 1994                                         [Page 20]
  1141.  
  1142. Internet-Draft             Packet Forwarding                   July 1993
  1143.  
  1144.  
  1145. 5.4 State Diagrams
  1146.  
  1147.                     +------------+
  1148.                     | non-mobile |
  1149. +------------------>| mode       |
  1150. |    migrate to     +------------+
  1151. |    home network         | migrate to another network
  1152. |    -------------        | -------------------------------
  1153. |                         v send a request to get a tmp adr
  1154. |                   +-------------+
  1155. +------------------>| waiting for |
  1156. |    migrate to     | tmp adr     |
  1157. |    another        +-------------+
  1158. |    network              | get a tmp adr
  1159. |    --------------       | -------------
  1160. |    send a request       v send MHLI
  1161. |    to get a tmp   +-------------+
  1162. |    adr            | waiting for |
  1163. |                   | MHLI ack    |
  1164. |                   +-------------+
  1165. |                         | receive MHLI ack
  1166. |              PT         | ----------------
  1167. |              --         | send PAS
  1168. |            +-----+      |      +-------+
  1169. |            v     |      v      v       | PT
  1170. |  +------------+  |  +-------------+    | --
  1171. |  | forwarding |--+  | waiting for |----+
  1172. +--| mode       |<----| PAS ack     |
  1173. ^  +------------+     +-------------+
  1174. |               timeout   | receive PAS ack
  1175. |               -------   | ---------------
  1176. |                         |
  1177. |                         |    +-------+
  1178. |                         v    v       | PT
  1179. |                   +-------------+    | --  PT   : Packet Transmission
  1180. +-------------------| autonomous  |----+     MHLI : MH Location Info.
  1181.        migrate      | mode        |          PAS  : Ping Auto. Supporter
  1182.        -------      +-------------+
  1183.  
  1184.                 Figure 9. State Diagram of an MH
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196.  
  1197. Expires 2 January 1994                                         [Page 21]
  1198.  
  1199. Internet-Draft             Packet Forwarding                   July 1993
  1200.  
  1201.  
  1202.                        +------------+
  1203.                        | forwarding |
  1204.                        | mode       |
  1205.                        +------------+
  1206.      receive MHLI           ^   | receive MHLI
  1207.      without MH's address   |   | ------------
  1208.      ---------------------- |   |
  1209.                             |   v
  1210.                        +-------------+
  1211.                        | autonomous  |
  1212.                        | mode        |<-+ send a packet to MH
  1213.                        +-------------+  | -------------------
  1214.                                    |    | send PT
  1215.                                    +----+
  1216.  
  1217.            Figure 10. State Diagram of an SH
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254. Expires 2 January 1994                                         [Page 22]
  1255.  
  1256. Internet-Draft             Packet Forwarding                   July 1993
  1257.  
  1258.  
  1259.                        +------------+
  1260.                        | waiting for|<------------------------------+
  1261.                        | MHLI ack   |                               |
  1262.                        +------------+                               |
  1263.                             |  ^ receive MHLI                       |
  1264.            receive MHLI ack |  |   without Autonomous               |
  1265.            ---------------- |  | --------------------               |
  1266.                             |  | update address table               |
  1267.                             |  |                                    |
  1268.  receive MHLI               |  |  +-----+ receive a normal packet   |
  1269.    with Autonomous          v  |  v     |   for the home MH         |
  1270.  --------------------  +------------+   | ------------------------  |
  1271.  update address table  | forwarding |---+ send PT                   |
  1272. +----------------------| mode       |                               |
  1273. |                      +------------+                               |
  1274. |   migrate to home network |  ^ receive MHLI                       |
  1275. |     (receive MHLI)        |  |   without Autonomous               |
  1276. |   ----------------------- |  | ---------------------------------  |
  1277. |   replace ARP entry for   |  | update address table               |
  1278. |            the home MH    |  | replace ARP entry for the home MH  |
  1279. |   send MHLI ack           v  | send MHLI ack                      |
  1280. |                      +------------+                               |
  1281. |                      |  initial   |                               |
  1282. |                      |  state     |                               |
  1283. |                      +------------+                               |
  1284. |   migrate to home network ^  | receive MHLI                       |
  1285. |     (receive MHLI)        |  |      with Autonomous               |
  1286. |   ----------------------- |  | ---------------------------------  |
  1287. |   replace ARP entry for   |  | update address table               |
  1288. |            the home MH    |  | replace ARP entry for the home MH  |
  1289. |   send MHLI ack           |  v send MHLI ack                      |
  1290. |                      +-------------+                              |
  1291. |                      | autonomous  |------------------------------+
  1292. | +--------------------| mode        | receive MHLI without Autonomous
  1293. | |                    +-------------+ -------------------------------
  1294. | |        receive MHLI ack ^  |       update address table
  1295. | |        ---------------- |  |       send MHLI to previous PFS
  1296. | |                         |  |
  1297. | |receive MHLI             |  | receive a normal packet
  1298. | |  without Autonomous     |  |   for the home MH
  1299. | |--------------------     |  | -----------------------
  1300. | |update address table     |  | send PT
  1301. | |send MHLI to             |  v send MHLI to sender
  1302. | |  previous PFS      +------------+
  1303. | +------------------->| waiting for|
  1304. +--------------------->| MHLI ack   |
  1305.                        +------------+
  1306.  
  1307.                 Figure 11. State Diagram of a home PFS
  1308.  
  1309.  
  1310.  
  1311. Expires 2 January 1994                                         [Page 23]
  1312.  
  1313. Internet-Draft             Packet Forwarding                   July 1993
  1314.  
  1315.  
  1316.                  +---------------+
  1317.                  | waiting for   |
  1318.                  | MHLI ack      |
  1319.                  +---------------+
  1320.                        |  ^
  1321.                        |  | receive PT
  1322.       receive MHLI ack |  | --------------------------------
  1323.       ---------------- |  | forward it to home adr (send PT)
  1324.                        |  | send MHLI without MH's address
  1325.                        v  |
  1326.                  +---------------+
  1327.                  | forwarding to |
  1328.                  | home adr mode |----------+
  1329.                  |(initial state)|          |
  1330.                  +---------------+          |
  1331.                        ^  |                 |
  1332.     receive MHLI       |  | receive PAS     | receive MHLI
  1333.       without MH's adr |  | ------------    | -------------
  1334.     ------------------ |  | send PAS ack    | send MHLI ack
  1335.     send MHLI ack      |  |                 |
  1336.                        |  v                 |
  1337.                  +-------------+            |
  1338.                  | forwarding  |<-----------+
  1339.                  | mode        |<------+ receive MHLI
  1340.                  +-------------+       | -------------
  1341.                        ^  |  |         | send MHLI ack
  1342.                        |  |  +---------+
  1343.                        |  |
  1344.       receive MHLI ack |  | receive PT
  1345.       ---------------- |  | ------------------------------------
  1346.                        |  | forward it to new location (send PT)
  1347.                        |  | send MHLI
  1348.                        |  v
  1349.                  +---------------+
  1350.                  | waiting for   |
  1351.                  | MHLI ack      |
  1352.                  +---------------+
  1353.  
  1354.             Figure 12. State Diagram of an Autonomous Supporter
  1355.                                         (a PFS for visitor MHs)
  1356.  
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368. Expires 2 January 1994                                         [Page 24]
  1369.  
  1370. Internet-Draft             Packet Forwarding                   July 1993
  1371.  
  1372.  
  1373. 5.5 Packet Transmission Parameters
  1374.  
  1375.    Two important transmission parameters for IPTP are the timeout
  1376.    interval and the retransmission count.  The timeout interval is the
  1377.    length of time IPTP will wait before retransmitting a packet.  The
  1378.    retransmission count is the number of times a packet will be resent.
  1379.    IPTP defines these parameters for all messages except "Packet
  1380.    Transmission" messages. IPTP "Packet Transmission" messages can be
  1381.    lost without a loss of correctness because IP makes no guarantee
  1382.    about reliable packet delivery. Reliable delivery is left to higher
  1383.    level protocols in the transport and network layers.  For the other
  1384.    message types, we assume that the timeout interval will be tuned to
  1385.    specific implementations.  The remaining issue, therefore, is the
  1386.    number of retransmissions.
  1387.  
  1388.    The "MH Location Information" message should be retransmitted an
  1389.    infinite number of times. If for any reason, such as a network
  1390.    failure, an MH cannot notify its home PFS of its new address the MH
  1391.    will become temporarily lost.  Continuous retransmission guarantees
  1392.    that the time of the network partition will never exceed the
  1393.    transmission of the last "MH Location Information" message.  If
  1394.    communication between the MH and PFS is ever possible again, then a
  1395.    packet will eventually get through, allowing hosts communicating
  1396.    with the MH to reestablish contact through the home PFS.
  1397.  
  1398.    The other packet types, "Ping Autonomous Supporter",
  1399.    and "Echo", should be retransmitted only a finite number of times.
  1400.    Loss of these packets may result in a less efficient routing, but
  1401.    will not be fatal.  For instance, a host capable of autonomous mode
  1402.    communication may mistakenly use forwarding mode if a "Ping"
  1403.    message is lost.
  1404.  
  1405. 6 Implementation Notes
  1406.  
  1407. 6.1 Translation Tables
  1408.  
  1409.    Address Translation tables are maintained by PFSs, and by SHs and MHs
  1410.    using autonomous mode.  All table entries contain the home address
  1411.    and the current temporary address of a MH.  In addition, table
  1412.    entries in a home PFS will contain the address of the PFS in the MH's
  1413.    current temporary network.  Table entries in SHs and MHs will contain
  1414.    the address of the MH's home PFS.
  1415.  
  1416.    PFSs are responsible for providing non-volatile storage for
  1417.    translation information.  SH and MH tables are only caches for data
  1418.    managed by PFSs.  An SH or an MH can easily refresh its tables by
  1419.    interacting with the appropriate PFS.  Of course, a disasterous
  1420.    failure might cause a PFS to lose its translation information.  If
  1421.    this occurs, the information must be recovered by inducing MHs to
  1422.  
  1423.  
  1424.  
  1425. Expires 2 January 1994                                         [Page 25]
  1426.  
  1427. Internet-Draft             Packet Forwarding                   July 1993
  1428.  
  1429.  
  1430.    resend "MH Location Information" messages.
  1431.  
  1432. 6.2 Avoiding Redundant "MH Location Information" Messages
  1433.  
  1434.    In an environment where both forwarding mode and autonomous mode are
  1435.    utilized, a PFS might send unnecessary "MH Location Information"
  1436.    messages to SHs using forwarding mode.  Because they are using
  1437.    forwarding mode, these SHs will ignore the "MH Location Information"
  1438.    messages.  Packets from the SH to the MH will continue to be sent to
  1439.    the PFS, resulting in the generation of ineffective and unnecessary
  1440.    "MH Location Information" messages.
  1441.  
  1442.    To avoid this, a PFS should keep a list of hosts it serves that are
  1443.    using forwarding mode.  The PFS can then refrain from sending "MH
  1444.    Location Information" messages to any host on this list.  Hosts can
  1445.    be added to this list when the first "MH Location Information"
  1446.    message cannot be delivered to the SH.  The failure can be detected
  1447.    either by an ICMP message that indicating that the destination port
  1448.    is unreachable or when the SH fails to acknowledge the "MH Location
  1449.    Information" message.
  1450.  
  1451. 6.3 PFS Packet Interception
  1452.  
  1453.    In order to correctly forward packets for mobile hosts, a PFS must be
  1454.    able to intercept packets addressed to hosts that have migrated away
  1455.    from the local network.  One possible implementation is to use
  1456.    promiscuous mode, if the the underlying interface supports it.  Such
  1457.    a solution, however, may impose a substantial load as the PFS is
  1458.    forced to inspect every packet.
  1459.  
  1460.    A more attractive alternative is to use a proxy ARP.  When a PFS
  1461.    receives a "MH Location Information" message from an MH, it
  1462.    broadcasts an ARP reply packet for the MH's home address.  The reply
  1463.    packet specifies that the MH's IP address now resolves to the address
  1464.    of the PFS's physical interface. Subsequent packets addressed to the
  1465.    MH's home address will be received by the PFS.
  1466.  
  1467.    If a PFS is already forwarding packets for an MH, it responds as a
  1468.    proxy to any ARP requests for the MH's address. The ARP reply
  1469.    message indicates that packets destined for the home (IP) address
  1470.    of the MH should be physically (i.e. at the hardware address level)
  1471.    addressed to the PFS.
  1472.  
  1473.    Unfortunately, because of the need to reuse temporary IP addresses,
  1474.    this technique cannot be applied to a PFS acting as an autonomous
  1475.    supporter for a visiting MH.  A visiting MH will use a temporary
  1476.    address.  This address will eventually be reused when the visiting
  1477.    MH migrates to a new network.  If the PFS issues a Proxy ARP for
  1478.    this address, packets intended for the new user of the address
  1479.  
  1480.  
  1481.  
  1482. Expires 2 January 1994                                         [Page 26]
  1483.  
  1484. Internet-Draft             Packet Forwarding                   July 1993
  1485.  
  1486.  
  1487.    might be lost.  Temporary addresses must be reusable because of the
  1488.    limited number of address bits available.  The consequence is that
  1489.    a PFS may only act as an autonomous supporter if it has a
  1490.    promiscuous interface on a broadcast medium that allows it to see
  1491.    all network traffic.
  1492.  
  1493. 6.4 Adaptive Mode Selection
  1494.  
  1495.    An MH that transmits a "Ping Autonomous Supporter" message may have
  1496.    to wait some time for a local PFS to reply.  This delay is passed to
  1497.    applications as additional latency introduced by MH migration.  To
  1498.    avoid this problem, the MH may send the "MH Location Information" to
  1499.    the home PFS without the Autonomous flag set.  After the MH finds a
  1500.    PFS which supports autonomous mode, it may resend "MH Location
  1501.    Information" message, this time with the Autonomous flag set.
  1502.  
  1503. 6.5 Detection of Forwarding Loops
  1504.  
  1505.    If an MH is roaming among temporary networks where PFSs support
  1506.    autonomous mode, it is possible that forwarding relays will occur.
  1507.    To prevent a forwarding loop, the "Packet Forwarding" message
  1508.    contains a special counter.
  1509.    When a PFS forwards a packet for the first time,
  1510.    it sets the counter to an upper bound defined by the system.  Before
  1511.    another PFS forwards the packet, it decrements the counter by 1 and
  1512.    it checks to see if the the value is zero.  If the PFS finds the
  1513.    counter equal to zero, the packet is discarded.  Otherwise the packet
  1514.    is forwarded normally.
  1515.  
  1516. 6.6 Gateway Packet Filters
  1517.  
  1518.    For security reasons, some gateways filter packets based on port
  1519.    numbers.  Because an original packet is encapsulated in an IPTP
  1520.    packet in our approach, the gateways will check the IPTP port number.
  1521.    Such gateways will fail to filter out packets that might otherwise be
  1522.    objectionable because the packet filters do not see within the IPTP
  1523.    packet.  Similarly, a filter applied to IPTP will remove all
  1524.    encapsulated packets, regardless of how the local system
  1525.    administrator feels about them.
  1526.  
  1527.    If the gateway host filters packets of specified port numbers and
  1528.    IPTP port number itself is not included in the port number list for
  1529.    filtering, the IPTP packet will pass through, even if the original
  1530.    packet in the IPTP packet should be filtered.  On the other hand, if
  1531.    the gateway host makes packets of specified port numbers pass through
  1532.    and IPTP port number is not included in the list for passing, the
  1533.    IPTP packet will be filtered.
  1534.  
  1535.    One way to solve this problem is to redesign the IPTP packet format.
  1536.  
  1537.  
  1538.  
  1539. Expires 2 January 1994                                         [Page 27]
  1540.  
  1541. Internet-Draft             Packet Forwarding                   July 1993
  1542.  
  1543.  
  1544.    "Packet Transmission" messages could reflect the packet type in a
  1545.    newly defined IP option field rather than be indicated in the port
  1546.    number field.
  1547.  
  1548. 6.7 Handling IP options
  1549.  
  1550.    When a PFS encapsulates a packet, it should copy IP options of the
  1551.    packet to the encapsulated packet.  When an MH decapsulates the
  1552.    packet, it should restore IP options of the packet to the original
  1553.    packet.
  1554.  
  1555. 7 Acknowledgement
  1556.  
  1557.    The description of authentication is almost fully derived from
  1558.    Columbia University's draft "Protocols for Supporting Mobile IP
  1559.    Hosts"[3] and IBM's draft "Support for Mobility with Connectionless
  1560.    Network Layer Protocols(Transport Layer Transparency)"[4].
  1561.  
  1562. 8 Authors' Addresses
  1563.  
  1564.          Hiromi Wada
  1565.          Information Systems Research Laboratory
  1566.          Matsushita Electric Industrial Co., Ltd.
  1567.          1006 Kadoma, Kadoma-shi, Osaka, 571 JAPAN
  1568.          Internet : hwada@isl.mei.co.jp
  1569.          Phone    : +81-6-906-2431
  1570.          Fax      : +81-6-906-5547
  1571.  
  1572.          Tatsuya Ohnishi
  1573.          Information Systems Research Laboratory
  1574.          Matsushita Electric Industrial Co., Ltd.
  1575.          1006 Kadoma, Kadoma-shi, Osaka, 571 JAPAN
  1576.          Internet : ohnishi@isl.mei.co.jp
  1577.          Phone    : +81-6-906-2431
  1578.          Fax      : +81-6-906-5547
  1579.  
  1580.          Brian Marsh
  1581.          Matsushita Information Technology Laboratory
  1582.          182 Nassau St, 3rd floor
  1583.          Princeton, NJ 08542
  1584.          Internet : marsh@mitl.com
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595.  
  1596. Expires 2 January 1994                                         [Page 28]
  1597.  
  1598. Internet-Draft             Packet Forwarding                   July 1993
  1599.  
  1600.  
  1601.                            References
  1602.  
  1603. 1. H.Wada, T.Yozawa, T.Ohnishi, and Y.Tanaka, "Mobile Computing
  1604.    Environment Based on Internet Packet Forwarding", 1993 Winter USENIX
  1605.  
  1606. 2. R.Droms, "Dynamic Host Configuration Protocol", Internet Engineering
  1607.    Task Force, INTERNET-DRAFT, November 1992
  1608.  
  1609. 3. J.Ioannidis, D.Duchamp, G.Q.Maguire Jr, and S.Deering, "Protocols for
  1610.    Supporting Mobile IP Hosts", Internet Engineering Task Force,
  1611.    INTERNET-DRAFT, June 1992
  1612.  
  1613. 4. C.Perkins and Y.Rekhter, "Support for Mobility with Connectionless
  1614.    Network Layer Protocols(Transport Layer Transparency)", Internet
  1615.    Engineering Task Force, INTERNET-DRAFT, January 1993
  1616.  
  1617. 5. F.Teraoka, "VIP:IP Extentions for Host Migration Transparency",
  1618.    Internet Engineering Task Force, INTERNET-DRAFT, Novenber 1992
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653. Expires 2 January 1994                                         [Page 29]
  1654.  
  1655. Internet-Draft             Packet Forwarding                   July 1993
  1656.  
  1657.  
  1658.                            TABLE OF CONTENTS
  1659.  
  1660. 1 Introduction                                                         1
  1661.      1.1 Goals                                                         2
  1662.      1.2 Basic Concept                                                 2
  1663.      1.3 Overview                                                      3
  1664. 2 Addressing                                                           3
  1665. 3 Packet Forwarding                                                    4
  1666.      3.1 Forwarding Mode                                               4
  1667.      3.2 Autonomous Mode                                               5
  1668.             3.2.1 SH Transmission                                      6
  1669.             3.2.2 Autonomous Supporter Transmission                    7
  1670. 4 Location Information Management                                      8
  1671.      4.1 MH Migration/PFS Notification                                 8
  1672.      4.2 Autonomous Sender Notification                               10
  1673.             4.2.1 Packets to the Home Address                         10
  1674.             4.2.2 Packets from an AS                                  11
  1675.             4.2.3 Packets from a Migrated MH                          12
  1676.      4.3 Packets to an Obsolete Temporary Address                     13
  1677. 5 Internet Packet Transmission Protocol(IPTP)                         15
  1678.      5.1 Message Type                                                 15
  1679.      5.2 Parameters                                                   16
  1680.      5.3 Packet Format                                                19
  1681.      5.4 State Diagrams                                               21
  1682.      5.5 Packet Transmission Parameters                               25
  1683. 6 Implementation Notes                                                25
  1684.      6.1 Translation Tables                                           25
  1685.      6.2 Avoiding Redundant "MH Location Information" Messages        26
  1686.      6.3 PFS Packet Interception                                      26
  1687.      6.4 Adaptive Mode Selection                                      27
  1688.      6.5 Detection of Forwarding Loops                                27
  1689.      6.6 Gateway Packet Filters                                       27
  1690.      6.7 Handling IP options                                          28
  1691. 7 Acknowledgement                                                     28
  1692. 8 Authors' Addresses                                                  28
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710. Expires 2 January 1994                                          [Page i]
  1711.  
  1712. Internet-Draft             Packet Forwarding                   July 1993
  1713.  
  1714.  
  1715.                            FIGURES
  1716.  
  1717. Figure 1. Forwarding Mode                                              5
  1718. Figure 2. Autonomous Mode                                              6
  1719. Figure 3. Forwarding mode by an autonomous supporter PFS               7
  1720. Figure 4. Location information distribution                            9
  1721. Figure 5. Packets to the Home Address                                 11
  1722. Figure 6. Packets from an AS                                          12
  1723. Figure 7. Packets from a Migrated MH                                  13
  1724. Figure 8. Packets to an Obsolete Temporary Address                    14
  1725. Figure 9. State diagram of an MH                                      21
  1726. Figure 10. State diagram of an SH                                     23
  1727. Figure 11. State diagram of a home PFS                                23
  1728. Figure 12. State diagram of an Autonomous Supporter                   24
  1729.  
  1730.  
  1731.  
  1732.  
  1733.  
  1734.  
  1735.  
  1736.  
  1737.  
  1738.  
  1739.  
  1740.  
  1741.  
  1742.  
  1743.  
  1744.  
  1745.  
  1746.  
  1747.  
  1748.  
  1749.  
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767. Expires 2 January 1994                                         [Page ii]
  1768.